This relates generally to graphics processing and, particularly, to transfers of information between shaders and texture samplers.
A texture is a two-dimensional array of pixel data. A sampler is an object that describes how to apply a texture bit map to a shape's surfaces to be displayed. A vertex shader calculates the position of each vertex of an object to be displayed, as well as the value of each per vertex attribute.
Data is exchanged between a sampler and a vertex shader. Conventionally, data is transferred by so-called sampler messages. Sampler message latency in shaders is often a performance bottleneck in three dimensional graphics processors.
In the vertex shader, using single instruction multiple data (SIMD) processing, loads from the sampler are converted into a four channel message, which returns one register's worth of data. Four four channel sampler messages include four registers worth of data in structure of arrays format, with each load returning one register's worth of data.